#ifndef BASE_FILTER_H_
#define BASE_FILTER_H_

#include <boost/gil/image.hpp>
#include <boost/gil/typedefs.hpp>
#include <boost/gil/color_convert.hpp>

namespace boost {
namespace gil {
namespace extension {
namespace filters {

class base_filter
{
public:
    typedef boost::gil::gray8_image_t image_t;
    typedef boost::gil::color_element_type<image_t::view_t::value_type, boost::gil::gray_color_t>::type
                gray_level_t;

    base_filter();
    virtual ~base_filter();

    virtual void execute(image_t& image) = 0;
};

}
}
}
}

#endif /* BASE_FILTER_H_ */
